ALFMOB-274: Integrate color tokens from design token JSON#85
Conversation
…clear stale pulled JSON
There was a problem hiding this comment.
Pull request overview
This PR migrates Alfie’s UI color usage from the legacy Colors.primary / Colors.secondary (xcassets-backed) palette to the generated design tokens (Primitives.Colours.*), and removes the old palette implementation/resources.
Changes:
- Replaced call sites across AlfieKit + app code to use
Primitives.Colours.*for neutrals and semantic success/error colors. - Removed legacy color facade/types (
Colors,PrimaryColors,SecondaryColors) and retired theColors.xcassetsresource from the Swift Package. - Updated DebugMenu/demo views and a snapshot test to use token colors.
Reviewed changes
Copilot reviewed 147 out of 147 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
| Docs/Plans/ALFMOB-274-integrate-color-tokens/scope.md | Adds scouting notes and original API/token gap analysis for the migration. |
| Docs/Plans/ALFMOB-274-integrate-color-tokens/plan.md | Adds migration plan/ACs (currently out of sync with implemented approach; see comments). |
| Docs/Plans/ALFMOB-274-integrate-color-tokens/phase-4-retire-assets.md | Documents asset-retirement and snapshot implications. |
| Docs/Plans/ALFMOB-274-integrate-color-tokens/phase-3-no-token-families.md | Documents handling of no-token families (note: differs from implemented removal). |
| Docs/Plans/ALFMOB-274-integrate-color-tokens/phase-2-secondary-semantic.md | Documents semantic green/red migration plan. |
| Docs/Plans/ALFMOB-274-integrate-color-tokens/phase-1-primary-neutrals.md | Documents neutrals migration plan. |
| Docs/Plans/ALFMOB-274-integrate-color-tokens/mapping.md | Provides old→token mapping table and documents deletion decision for no-token families. |
| Docs/Plans/ALFMOB-274-integrate-color-tokens/grill.md | Captures grilled decisions and rationale for using Primitives token layer. |
| Docs/Plans/ALFMOB-274-integrate-color-tokens/_status.md | Tracks implementation status and records follow-up decision to delete no-token families. |
| Alfie/AlfieTests/Snapshots/ProductDetailsColorSheetSnapshotTests.swift | Updates snapshot test setup colors to token-based neutrals. |
| Alfie/AlfieKit/Sources/Web/UI/WebView.swift | Replaces error view and WKWebView background colors with token neutrals. |
| Alfie/AlfieKit/Sources/SharedUI/Theme/ThemeProvider.swift | Repoints UIKit appearance colors from legacy palette to token neutrals. |
| Alfie/AlfieKit/Sources/SharedUI/Theme/Shadow/ShadowViewModifier.swift | Replaces shadow colors with token neutrals. |
| Alfie/AlfieKit/Sources/SharedUI/Theme/Segmented/ThemedSegmentedView.swift | Replaces segmented control colors with token neutrals. |
| Alfie/AlfieKit/Sources/SharedUI/Theme/Modal/ThemedModal.swift | Replaces modal overlay/surface/text colors with token neutrals. |
| Alfie/AlfieKit/Sources/SharedUI/Theme/Inputs/ThemedInput.swift | Replaces input states (disabled/focus/error/success) colors with token neutrals + semantic tokens. |
| Alfie/AlfieKit/Sources/SharedUI/Theme/Components/SizingBanner/SizingSwatchView.swift | Replaces sizing swatch border/fill colors with token neutrals. |
| Alfie/AlfieKit/Sources/SharedUI/Theme/Components/SizingBanner/ColorAndSizingSelectorHeaderView.swift | Replaces header text/tint colors with token neutrals. |
| Alfie/AlfieKit/Sources/SharedUI/Theme/Components/Selectors/PickerMenu.swift | Replaces picker stroke/tint/background colors with token neutrals. |
| Alfie/AlfieKit/Sources/SharedUI/Theme/Components/SearchBar/ThemedSearchBarView.swift | Replaces search bar theme colors with token neutrals. |
| Alfie/AlfieKit/Sources/SharedUI/Theme/Components/RadioButton/RadioButton.swift | Replaces enabled/disabled text color with token neutrals. |
| Alfie/AlfieKit/Sources/SharedUI/Theme/Components/ProgressBar.swift | Replaces progress bar track/indicator colors with token neutrals. |
| Alfie/AlfieKit/Sources/SharedUI/Theme/Components/Loader/ThemedLoaderView.swift | Replaces loader label color with token neutrals. |
| Alfie/AlfieKit/Sources/SharedUI/Theme/Components/Loader/LoaderView.swift | Replaces loader theme colors with token neutrals. |
| Alfie/AlfieKit/Sources/SharedUI/Theme/Components/ColorBanner/ColorSwatchView.swift | Replaces swatch border/placeholder/failure colors with token neutrals. |
| Alfie/AlfieKit/Sources/SharedUI/Theme/Components/ColorBanner/ColorSelectorComponentView.swift | Replaces demo “Black” color with token near-black. |
| Alfie/AlfieKit/Sources/SharedUI/Theme/Components/Checkbox/Checkbox.swift | Replaces enabled/disabled text color with token neutrals. |
| Alfie/AlfieKit/Sources/SharedUI/Theme/Color/SecondaryColors.swift | Deletes legacy secondary palette/protocol implementation. |
| Alfie/AlfieKit/Sources/SharedUI/Theme/Color/PrimaryColors.swift | Deletes legacy primary palette/protocol implementation. |
| Alfie/AlfieKit/Sources/SharedUI/Theme/Color/Color.swift | Deletes Colors facade enum. |
| Alfie/AlfieKit/Sources/SharedUI/Theme/Buttons/ThemedButton.swift | Updates shimmer colors for primary style to token neutrals. |
| Alfie/AlfieKit/Sources/SharedUI/Theme/Buttons/ButtonTheme.swift | Replaces button theme colors with token neutrals. |
| Alfie/AlfieKit/Sources/SharedUI/Theme/Accordion/AccordionView.swift | Replaces accordion text/icon colors with token neutrals. |
| Alfie/AlfieKit/Sources/SharedUI/Helpers/Modifiers/TapHighlightableModifier.swift | Replaces pressed highlight background with token neutral. |
| Alfie/AlfieKit/Sources/SharedUI/Helpers/Modifiers/Shimmering/ShimmerEffectModifier.swift | Replaces shimmer default colors with token neutrals. |
| Alfie/AlfieKit/Sources/SharedUI/Helpers/Modifiers/Shimmering/MultilineShimmerEffectModifier.swift | Replaces shimmer default colors with token neutrals. |
| Alfie/AlfieKit/Sources/SharedUI/Helpers/Extensions/Color+Extension.swift | Repoints Color.black/Color.white extension to tokens (changes semantics of standard names). |
| Alfie/AlfieKit/Sources/SharedUI/Components/Toolbar/ThemedToolbarTitle.swift | Replaces default tint/subtitle color with token neutrals. |
| Alfie/AlfieKit/Sources/SharedUI/Components/Toolbar/ThemedToolbarModifier.swift | Replaces divider background with token neutral. |
| Alfie/AlfieKit/Sources/SharedUI/Components/Toolbar/ThemedToolbarButton.swift | Replaces default tint with token neutrals. |
| Alfie/AlfieKit/Sources/SharedUI/Components/Tags/Tag.swift | Replaces tag colors/shadow color with token neutrals. |
| Alfie/AlfieKit/Sources/SharedUI/Components/TabControl/TabControl.swift | Replaces tab control line/text colors with token neutrals. |
| Alfie/AlfieKit/Sources/SharedUI/Components/SortBy/SortByView.swift | Replaces sort-by UI colors with token neutrals. |
| Alfie/AlfieKit/Sources/SharedUI/Components/Snackbar/SnackbarView.swift | Replaces snackbar colors with token neutrals + semantic tokens. |
| Alfie/AlfieKit/Sources/SharedUI/Components/ProductCards/VerticalProductCard.swift | Replaces placeholder/text/icon colors with token neutrals. |
| Alfie/AlfieKit/Sources/SharedUI/Components/ProductCards/HorizontalProductCard.swift | Replaces placeholder/text colors with token neutrals. |
| Alfie/AlfieKit/Sources/SharedUI/Components/Price/PriceComponentView.swift | Replaces price colors with token neutrals + semantic error token for sale. |
| Alfie/AlfieKit/Sources/SharedUI/Components/Indicators/ThemedPageControlConfiguration.swift | Replaces default page control colors with token neutrals. |
| Alfie/AlfieKit/Sources/SharedUI/Components/Indicators/PaginatedControlConfiguration.swift | Replaces default paginated control colors with token neutrals. |
| Alfie/AlfieKit/Sources/SharedUI/Components/Indicators/BadgeViewModifier.swift | Replaces badge fill/stroke/text colors with token neutrals + semantic error. |
| Alfie/AlfieKit/Sources/SharedUI/Components/Indicators/BadgeTabViewModifier.swift | Replaces UITabBar badge colors with token neutrals + semantic error. |
| Alfie/AlfieKit/Sources/SharedUI/Components/ErrorView/ErrorView.swift | Replaces default error view colors with token neutrals. |
| Alfie/AlfieKit/Sources/SharedUI/Components/Dividers/ThemedDivider.swift | Replaces divider defaults and demo colors with tokens. |
| Alfie/AlfieKit/Sources/SharedUI/Components/Chips/Chip.swift | Replaces chip colors with token neutrals. |
| Alfie/AlfieKit/Sources/SharedUI/Components/Carousel/ZoomableCarousel/ZoomableCarousel.swift | Replaces close button/background colors with token neutrals. |
| Alfie/AlfieKit/Sources/SharedUI/Components/Carousel/ProgressableHorizontalScrollView.swift | Replaces demo placeholders with token neutrals. |
| Alfie/AlfieKit/Sources/SharedUI/Components/Carousel/ProductCarousel/ProductCarouselHeader.swift | Replaces header text colors with token neutrals. |
| Alfie/AlfieKit/Sources/Search/UI/SearchView.swift | Replaces backgrounds/text colors with token neutrals. |
| Alfie/AlfieKit/Sources/Search/UI/RecentSearchesView.swift | Replaces icon/text colors with token neutrals. |
| Alfie/AlfieKit/Sources/ProductListing/UI/ProductListingListStyleSelector.swift | Replaces selected/unselected icon colors with token neutrals. |
| Alfie/AlfieKit/Sources/ProductListing/UI/ProductListingFilterBar.swift | Replaces refine/filter bar colors with token neutrals. |
| Alfie/AlfieKit/Sources/ProductListing/UI/ProductListingFilter.swift | Replaces toolbar icon/title colors with token neutrals. |
| Alfie/AlfieKit/Sources/ProductDetails/UI/ProductDetailsViewModel.swift | Replaces fallback swatch color with token near-black. |
| Alfie/AlfieKit/Sources/ProductDetails/UI/ProductDetailsView.swift | Replaces placeholder/failure/text/icon colors with token neutrals. |
| Alfie/AlfieKit/Sources/ProductDetails/UI/ProductDetailsColorAndSizeSheet.swift | Replaces sheet header/tint colors with token neutrals. |
| Alfie/AlfieKit/Sources/DebugMenu/UI/Demo/Toolbar/ToolbarDemoView.swift | Replaces toolbar demo colors with token neutrals. |
| Alfie/AlfieKit/Sources/DebugMenu/UI/Demo/TabControl/TabControlIntrinsicWidthDemoView.swift | Replaces demo fill colors with token neutrals. |
| Alfie/AlfieKit/Sources/DebugMenu/UI/Demo/TabControl/TabControlFixedWidthDemoView.swift | Replaces demo fill colors with token neutrals. |
| Alfie/AlfieKit/Sources/DebugMenu/UI/Demo/Snackbars/SnackbarDemoView.swift | Replaces demo text color with token neutral. |
| Alfie/AlfieKit/Sources/DebugMenu/UI/Demo/Shadow/ShadowDemoView.swift | Replaces demo background/label colors with token neutrals. |
| Alfie/AlfieKit/Sources/DebugMenu/UI/Demo/Segments/SegmentsDemoView.swift | Replaces segment demo colors with token neutrals + semantic tokens. |
| Alfie/AlfieKit/Sources/DebugMenu/UI/Demo/SearchBar/SearchBarDemoView.swift | Replaces demo backgrounds with token neutral. |
| Alfie/AlfieKit/Sources/DebugMenu/UI/Demo/Pricing/PriceComponentDemoView.swift | Replaces demo tint colors with token neutrals. |
| Alfie/AlfieKit/Sources/DebugMenu/UI/Demo/PageControl/PageControlCarouselDemoView.swift | Replaces demo palettes with token colors (contains duplicate entries; see comments). |
| Alfie/AlfieKit/Sources/DebugMenu/UI/Demo/Motion/MotionDemoView.swift | Replaces demo tint/fills with token neutrals. |
| Alfie/AlfieKit/Sources/DebugMenu/UI/Demo/Inputs/InputDemoView.swift | Replaces demo tint colors with token neutrals. |
| Alfie/AlfieKit/Sources/DebugMenu/UI/Demo/Indicators/BadgeDemoView.swift | Replaces demo label color with token neutral. |
| Alfie/AlfieKit/Sources/DebugMenu/UI/Demo/Iconography/IconographyDemoView.swift | Replaces icon/label colors with token neutrals. |
| Alfie/AlfieKit/Sources/DebugMenu/UI/Demo/Dividers/DividerDemoView.swift | Replaces demo fill colors with token neutrals. |
| Alfie/AlfieKit/Sources/DebugMenu/UI/Demo/Components/ProgressBarDemoView.swift | Replaces demo fill colors with token neutrals. |
| Alfie/AlfieKit/Sources/DebugMenu/UI/Demo/Components/DatePickerDemoView.swift | Replaces demo tint colors with token neutrals. |
| Alfie/AlfieKit/Sources/DebugMenu/UI/Demo/Colors/ColorsDemoView.swift | Updates demo palettes to token neutrals + semantic success/error and removes old families. |
| Alfie/AlfieKit/Sources/DebugMenu/UI/Demo/ColorBanner/ColorBannerDemoView.swift | Replaces demo “Black” swatch with token near-black. |
| Alfie/AlfieKit/Sources/DebugMenu/UI/Demo/Buttons/ButtonDemoView.swift | Replaces demo tint colors with token neutrals. |
| Alfie/AlfieKit/Sources/DebugMenu/UI/DeepLinking/DeepLinkDemoView.swift | Replaces label/value colors with token neutrals. |
| Alfie/AlfieKit/Sources/DebugMenu/UI/Configuration/AppUpdateDemoView.swift | Replaces configuration demo colors with token neutrals + semantic error. |
| Alfie/AlfieKit/Sources/CategorySelector/UI/CategoriesView.swift | Replaces list item colors with token neutrals. |
| Alfie/AlfieKit/Sources/CategorySelector/UI/BrandsView.swift | Replaces list/header/index colors with token neutrals. |
| Alfie/AlfieKit/Sources/AppFeature/UI/TabBarItemView.swift | Replaces tab bar selection indicator/text/icon colors with token neutrals. |
| Alfie/AlfieKit/Sources/AppFeature/UI/CustomTabBarView.swift | Replaces tab bar background with token neutral. |
| Alfie/AlfieKit/Sources/AppFeature/Navigation/RootTabView.swift | Replaces accent color with token near-black. |
| Alfie/AlfieKit/Package.swift | Stops processing Theme/Color/Colors.xcassets as an SPM resource. |
| Alfie/AlfieKit/Sources/SharedUI/Theme/Color/Colors.xcassets/Contents.json | Deletes xcassets catalog metadata file. |
| Alfie/AlfieKit/Sources/SharedUI/Theme/Color/Colors.xcassets/Black.colorset/Contents.json | Deletes legacy black colorset. |
| Alfie/AlfieKit/Sources/SharedUI/Theme/Color/Colors.xcassets/White.colorset/Contents.json | Deletes legacy white colorset. |
| Alfie/AlfieKit/Sources/SharedUI/Theme/Color/Colors.xcassets/Mono050.colorset/Contents.json | Deletes legacy mono colorset. |
| Alfie/AlfieKit/Sources/SharedUI/Theme/Color/Colors.xcassets/Mono100.colorset/Contents.json | Deletes legacy mono colorset. |
| Alfie/AlfieKit/Sources/SharedUI/Theme/Color/Colors.xcassets/Mono200.colorset/Contents.json | Deletes legacy mono colorset. |
| Alfie/AlfieKit/Sources/SharedUI/Theme/Color/Colors.xcassets/Mono300.colorset/Contents.json | Deletes legacy mono colorset. |
| Alfie/AlfieKit/Sources/SharedUI/Theme/Color/Colors.xcassets/Mono400.colorset/Contents.json | Deletes legacy mono colorset. |
| Alfie/AlfieKit/Sources/SharedUI/Theme/Color/Colors.xcassets/Mono500.colorset/Contents.json | Deletes legacy mono colorset. |
| Alfie/AlfieKit/Sources/SharedUI/Theme/Color/Colors.xcassets/Mono600.colorset/Contents.json | Deletes legacy mono colorset. |
| Alfie/AlfieKit/Sources/SharedUI/Theme/Color/Colors.xcassets/Mono700.colorset/Contents.json | Deletes legacy mono colorset. |
| Alfie/AlfieKit/Sources/SharedUI/Theme/Color/Colors.xcassets/Mono800.colorset/Contents.json | Deletes legacy mono colorset. |
| Alfie/AlfieKit/Sources/SharedUI/Theme/Color/Colors.xcassets/Mono900.colorset/Contents.json | Deletes legacy mono colorset. |
| Alfie/AlfieKit/Sources/SharedUI/Theme/Color/Colors.xcassets/Green050.colorset/Contents.json | Deletes legacy green colorset. |
| Alfie/AlfieKit/Sources/SharedUI/Theme/Color/Colors.xcassets/Green100.colorset/Contents.json | Deletes legacy green colorset. |
| Alfie/AlfieKit/Sources/SharedUI/Theme/Color/Colors.xcassets/Green200.colorset/Contents.json | Deletes legacy green colorset. |
| Alfie/AlfieKit/Sources/SharedUI/Theme/Color/Colors.xcassets/Green300.colorset/Contents.json | Deletes legacy green colorset. |
| Alfie/AlfieKit/Sources/SharedUI/Theme/Color/Colors.xcassets/Green400.colorset/Contents.json | Deletes legacy green colorset. |
| Alfie/AlfieKit/Sources/SharedUI/Theme/Color/Colors.xcassets/Green500.colorset/Contents.json | Deletes legacy green colorset. |
| Alfie/AlfieKit/Sources/SharedUI/Theme/Color/Colors.xcassets/Green600.colorset/Contents.json | Deletes legacy green colorset. |
| Alfie/AlfieKit/Sources/SharedUI/Theme/Color/Colors.xcassets/Green700.colorset/Contents.json | Deletes legacy green colorset. |
| Alfie/AlfieKit/Sources/SharedUI/Theme/Color/Colors.xcassets/Green800.colorset/Contents.json | Deletes legacy green colorset. |
| Alfie/AlfieKit/Sources/SharedUI/Theme/Color/Colors.xcassets/Green900.colorset/Contents.json | Deletes legacy green colorset. |
| Alfie/AlfieKit/Sources/SharedUI/Theme/Color/Colors.xcassets/Red050.colorset/Contents.json | Deletes legacy red colorset. |
| Alfie/AlfieKit/Sources/SharedUI/Theme/Color/Colors.xcassets/Red100.colorset/Contents.json | Deletes legacy red colorset. |
| Alfie/AlfieKit/Sources/SharedUI/Theme/Color/Colors.xcassets/Red200.colorset/Contents.json | Deletes legacy red colorset. |
| Alfie/AlfieKit/Sources/SharedUI/Theme/Color/Colors.xcassets/Red300.colorset/Contents.json | Deletes legacy red colorset. |
| Alfie/AlfieKit/Sources/SharedUI/Theme/Color/Colors.xcassets/Red400.colorset/Contents.json | Deletes legacy red colorset. |
| Alfie/AlfieKit/Sources/SharedUI/Theme/Color/Colors.xcassets/Red500.colorset/Contents.json | Deletes legacy red colorset. |
| Alfie/AlfieKit/Sources/SharedUI/Theme/Color/Colors.xcassets/Red600.colorset/Contents.json | Deletes legacy red colorset. |
| Alfie/AlfieKit/Sources/SharedUI/Theme/Color/Colors.xcassets/Red700.colorset/Contents.json | Deletes legacy red colorset. |
| Alfie/AlfieKit/Sources/SharedUI/Theme/Color/Colors.xcassets/Red800.colorset/Contents.json | Deletes legacy red colorset. |
| Alfie/AlfieKit/Sources/SharedUI/Theme/Color/Colors.xcassets/Red900.colorset/Contents.json | Deletes legacy red colorset. |
| Alfie/AlfieKit/Sources/SharedUI/Theme/Color/Colors.xcassets/Blue050.colorset/Contents.json | Deletes legacy blue colorset. |
| Alfie/AlfieKit/Sources/SharedUI/Theme/Color/Colors.xcassets/Blue100.colorset/Contents.json | Deletes legacy blue colorset. |
| Alfie/AlfieKit/Sources/SharedUI/Theme/Color/Colors.xcassets/Blue200.colorset/Contents.json | Deletes legacy blue colorset. |
| Alfie/AlfieKit/Sources/SharedUI/Theme/Color/Colors.xcassets/Blue300.colorset/Contents.json | Deletes legacy blue colorset. |
| Alfie/AlfieKit/Sources/SharedUI/Theme/Color/Colors.xcassets/Blue400.colorset/Contents.json | Deletes legacy blue colorset. |
| Alfie/AlfieKit/Sources/SharedUI/Theme/Color/Colors.xcassets/Blue500.colorset/Contents.json | Deletes legacy blue colorset. |
| Alfie/AlfieKit/Sources/SharedUI/Theme/Color/Colors.xcassets/Blue600.colorset/Contents.json | Deletes legacy blue colorset. |
| Alfie/AlfieKit/Sources/SharedUI/Theme/Color/Colors.xcassets/Blue700.colorset/Contents.json | Deletes legacy blue colorset. |
| Alfie/AlfieKit/Sources/SharedUI/Theme/Color/Colors.xcassets/Blue800.colorset/Contents.json | Deletes legacy blue colorset. |
| Alfie/AlfieKit/Sources/SharedUI/Theme/Color/Colors.xcassets/Blue900.colorset/Contents.json | Deletes legacy blue colorset. |
| Alfie/AlfieKit/Sources/SharedUI/Theme/Color/Colors.xcassets/Yellow050.colorset/Contents.json | Deletes legacy yellow colorset. |
| Alfie/AlfieKit/Sources/SharedUI/Theme/Color/Colors.xcassets/Yellow100.colorset/Contents.json | Deletes legacy yellow colorset. |
| Alfie/AlfieKit/Sources/SharedUI/Theme/Color/Colors.xcassets/Yellow200.colorset/Contents.json | Deletes legacy yellow colorset. |
| Alfie/AlfieKit/Sources/SharedUI/Theme/Color/Colors.xcassets/Yellow300.colorset/Contents.json | Deletes legacy yellow colorset. |
| Alfie/AlfieKit/Sources/SharedUI/Theme/Color/Colors.xcassets/Yellow400.colorset/Contents.json | Deletes legacy yellow colorset. |
| Alfie/AlfieKit/Sources/SharedUI/Theme/Color/Colors.xcassets/Yellow500.colorset/Contents.json | Deletes legacy yellow colorset. |
| Alfie/AlfieKit/Sources/SharedUI/Theme/Color/Colors.xcassets/Orange050.colorset/Contents.json | Deletes legacy orange colorset. |
| Alfie/AlfieKit/Sources/SharedUI/Theme/Color/Colors.xcassets/Orange100.colorset/Contents.json | Deletes legacy orange colorset. |
| Alfie/AlfieKit/Sources/SharedUI/Theme/Color/Colors.xcassets/Orange200.colorset/Contents.json | Deletes legacy orange colorset. |
| Alfie/AlfieKit/Sources/SharedUI/Theme/Color/Colors.xcassets/Orange300.colorset/Contents.json | Deletes legacy orange colorset. |
| Alfie/AlfieKit/Sources/SharedUI/Theme/Color/Colors.xcassets/Orange400.colorset/Contents.json | Deletes legacy orange colorset. |
| Alfie/AlfieKit/Sources/SharedUI/Theme/Color/Colors.xcassets/Orange500.colorset/Contents.json | Deletes legacy orange colorset. |
…, fix demo dupes, sync plan docs
…onsistent demo Black swatch
…nc plan docs to full deletion
amccall-mindera
left a comment
There was a problem hiding this comment.
AC items 1, 2 (green/red), 5 (theme files) verified. Blue/yellow/orange correctly deferred to follow-up — demo-only usage replaced with SwiftUI system colors, no production impact. Colors.primary./Colors.secondary. removal is the same intentional decision as ALFMOB-270. ButtonTheme.swift is fully token-driven. Color+Extension.swift deleted, resolving the Color.black/white override concern. Build + unit tests passing.
What
Wires Alfie's color system onto the generated design tokens (ALFMOB-272), replacing the hardcoded
Colors.primary/Colors.secondarypalette withPrimitives.Colours.*token references across~367 call sites. Stacked on
ALFMOB-272-design-token-codegen.Per the agreed direction, design-token names are the source of truth — call sites adopt the generated
names directly rather than keeping a
mono/green/redfacade. Colors that map to a token are wirednow; colors with no token equivalent are deferred to a review list.
Mapping (wire-now)
mono050…900Primitives.Colours.neutrals*(nearest-hex)whiteneutrals0(exact)blackneutrals900green*semanticSuccess*red*semanticError*Full per-shade table + ΔRGB in
Docs/Plans/ALFMOB-274-integrate-color-tokens/mapping.md §A.PrimaryColors.swiftdeleted;Colors.primaryfacade removed.green/redremoved fromSecondaryColors.Colors.xcassets(54 → 22).ThemeProvider.uiappearance +Color.black/.whiteextensions re-pointed.Deferred — review list (no design-token equivalent)
blue/yellow/orange(22 colors) have no neutral/semantic equivalent → kept onxcassets,documented in
mapping.md §B. Their only usage is DebugMenu demos + one SwiftUI#Preview— noproduction shipping UI. Needs new upstream tokens in
Mindera/Alfie-Mobile-Design-Tokensbeforethose families (and the asset catalog) can be fully retired.
Needs design sign-off
The two palettes are different ramps, so some mid-ramp grays/greens/reds shift slightly (see ΔRGB in
mapping.md §A). Please review the visual diff. Snapshot suites are currently excluded from theAlfieTests target, so nothing auto-rebaselined.
Verification
./Alfie/scripts/verify.sh→ ✅ FULL VERIFICATION PASSED (build + all unit suites, 0 failures), runagainst the branch point. Merges cleanly into the current base (no conflicts).
Notes
ALFMOB-272tip2bb3eb1; base has since advanced — merges clean, CI will build against the latest generated tokens.Ticket: https://mindera.atlassian.net/browse/ALFMOB-274